using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Toon.Models.Characters;

namespace Toon.Models.Tests.Characters
{
    
	public partial class StandardRulesTests
	{

		Dictionary<string, object> GetValues(Toon.Models.Characters.StandardRules objectUnderTest)
		{
			
			var result = new Dictionary<string, object>();
			result["Catalog"] = objectUnderTest.Catalog;
			result["MaxSkillPoints"] = objectUnderTest.MaxSkillPoints;
			result["Name"] = objectUnderTest.Name;
			return result;
		}

		List<string> GetDiffs(Dictionary<string, object> originalValues, Toon.Models.Characters.StandardRules objectUnderTest)
		{
			return GetDiffs(originalValues, GetValues(objectUnderTest));
		}

		List<string> GetDiffs(Dictionary<string, object> originalValues, Dictionary<string, object> newValues)
		{
			var result = new List<string>();
			foreach(var item in originalValues)
			{
				if (!Object.Equals(item.Value, newValues[item.Key]))
					result.Add(item.Key);
			}

			return result;
		}

		public Toon.Models.Characters.StandardRules GetObject(int version)
		{
			var objectUnderTest = CreateObject();
			SetValues(objectUnderTest, version);
			return objectUnderTest;
		}

		public void SetValues(Toon.Models.Characters.StandardRules objectUnderTest, int version)
		{
			
		}



	}
}
